When information is sent from a transmitter over a channel to a receiver, the information signals are often distorted by noise and other causes. Sometimes the information signals are distorted to such an extent that the received signals do not duplicate the information sent.
In order to reduce errors in the received signals, the information is coded at the transmitter. There are two basic coding schemes: block coding and convolution coding. These coding schemes are explained in detail in a book entitled "Error Control Coding: Fundamentals and Applications" by S. Lin et al.
Simply stated, block coding introduces n-k redundant bits to a block of k bits of information to derive a coded block of n bits which is transmitted to a receiver. For binary signals, there are 2.sup.k code words, each of length n, and the set is called (n, k) block code. Convolutional coding introduces m bits from previous blocks of information, each having k bits, to derive a coded signal having n bits. The encoder is said to have a memory order of m. The set of codes is called an (n, k, m) convolutional code. The code rate is k/n.
U.S. Pat. No. 4,077,021 teaches a technique called set partitioning that assigns signal points to successive blocks of input data. More particularly, a code rate of 4 bits/2-dimensional symbol is shown. Also, a coding gain of 4 db over standard uncoded transmission is obtained. That is, noise immunity is obtained without increasing the power required for transmission. As will be described fully in the detailed description of the present invention, it is desirable to obtain a more efficient coding scheme.